Зимой 1379—1380 гг. Дмитрий Московский отправил своё войско, в составе которого находился и Андрей Ольгердович, в поход на подвластную Литве Северскую землю: «Тое же зимы князь великии Дмитреи Ивановичь, собравъ воя многы и посла съ ними брата своего князя Володимера Андреевича да князя Андрея Олгердовича Полотьского да князя Дмитрея Михаиловича Волыньскаго и иныя воеводы и велможи и бояре многы и отъпусти я месяца декабря въ 9, въ пятокъ, отъпусти ихъ ратию на Литовьскыя городы и волости воевати. Они же сшедъшеся взяша городъ Трубческы и Стародубъ и ины многы страны и волости и села тяжко плениша, и вси наши вои, русстии полци, цели быша, приидоша въ домы своя со многыми гостьми»246.
Войска московских князей никогда ранее не заходили так далеко на юго-запад от своих владений. По-видимому, успех этого похода был обеспечен в значительной степени поддержкой местного населения и князей, недовольных владычеством Литвы. Об этом свидетельствует также и факт перехода на сторону русской рати брата Андрея Ольгердовича Дмитрия, княжившего в Трубчевске: «Князь Трубческыи Дмитрии Олгердович [ь] не сталъ на бои, ни поднялъ рукы противу князя великаго и не биася, но выиде изъ града съ княгинею своею и з детми и съ бояры своими и приеха на Москву въ рядъ къ князю великому Дмитрею Иванович [ю], бивъ челомъ и рядися у него»247. Однако при этом Москве не удалось поставить Трубчевское княжество под свою власть. По-видимому, оно было присоединено Ягайлой к владениям его брата Корибута, которому как раз в это время была пожалована в удел Северская земля. В качестве возмещения за потерю Трубчевска Дмитрий Ольгердович получил от московского князя Переяславль: «Князь же великии прия его съ честию великою и со многою любовию и дасть ему градъ Переяславль и со всеми его пошлинами»248.
В то время, как московские полки совершали поход по литовским владениям, Ягайло предпринял попытку привлечь на свою сторону Великий Новгород: «Тои же зимы прииха в Новъгород князь Литовьскыи Юрьи Наримантович»249. Отец Юрия Наримант и его брат Патрикий ранее уже сидели в качестве служилых князей на новгородских пригородах, причём каждый раз это происходило в периоды осложнения отношений между Москвой и Новгородом. Однако на этот раз Дмитрию Ивановичу удалось быстро уладить конфликт – уже в марте 1380 г. в Москву направилось большое новгородское посольство во главе с архиепископом Алексеем: «Биша чоломъ всь Новъградъ господину своему владыце Алексею, чтобы еси, господине, ялъся ехати [ко] князю великому. И владыка прия челобитье своих детеи, всего Новагорода, поиха на Низъ, за неделю до цветнои неделе; а с нимъ поиха Юрьи Иванович, Михаило Данилович, Юрьи Онцифорович, Иевъ Обакунович, Иванъ Федорович и иных бояръ много и житьих мужь. Князь же прия [их] в любовь, а к Новугороду крестъ целовалъ на всеи старине новгородчкои и на старых грамотах»250. Тем самым Дмитрию Ивановичу удалось предотвратить опасное сближение между Новгородом и Литвой накануне решающего столкновения с объединёнными силами Мамая и Ягайлы.
В августе 1380 г. в Москву поступили вести о том, что Мамай идёт войной на Русь. Его войско, включавшее, помимо татар, наёмников – черкесов, осетин, армян, буртасов и итальянцев, должно было соединиться с литовскими полками Ягайлы на берегу Оки в Семёнов день (1 сентября), после чего двинуться на Москву. Олег Рязанский вёл двойственную политику – с одной стороны, он направил своего посла к Мамаю и Ягайле, а с другой – известил московского князя о татарско-литовских планах. Получив эти известия, Дмитрий Иванович собрал в своей столице крупные военные силы. Ранние источники («Задонщина» и повествования Рогожского летописца – Симеоновской летописи и Новгородской IV – Софийской I летописей) упоминают об участии в походе, помимо самого Дмитрия Московского и его двоюродного брата Владимира Серпуховского, белозёрских и тарусских князей, а также Андрея и Дмитрия Ольгердовичей. Летопись Дубровского и Архивская летопись, восходящие к новгородскому своду 1539 г., добавляют к этому списку князей Ивана Васильевича Вяземского, Андрея Фёдоровича Ростовского, Андрея Фёдоровича Стародубского, одного из ярославских князей Васильевичей, Фёдора Михайловича Моложского, Семёна Константиновича Оболенского, Романа Михайловича Брянского, Василия Михайловича Кашинского и сына Романа Семёновича Новосильского. Если список новгородского свода 1539 г. верен, тогда состав участников Донского побоища в целом повторял состав участников похода на Тверь в 1375 г., за исключением суздальско-нижегородских князей.
Дмитрий Иванович оставил часть своих войск в Москве, а с остальными направился в Коломну, где его нашли послы от Мамая, кочевавшего в это время за Доном: «Мамаи ста въ поле близъ Дону, со всеми силами, стоя 3 недели, ждучи Ягаила, а къ великому князю присла, прося выхода, какъ было при цари Женибеке, а не по своему докончанию; а князь велики хотящи ему выходъ дати по хрестьяньскои силе, онъ же не хотяше»251. По договорённости, заключённой Дмитрием Ивановичем с Мамаем в 1371 г., московский князь обязался выплачивать Орде дань, но в меньшем размере, чем та дань, которую платило Великое княжество Владимирское при Джанибеке. Тогда Москве удалось таким способом нейтрализовать Мамая и избежать войны одновременно с Ордой и Литвой. В 1374 г. выплата дани татарам полностью прекратилась. Обещая в 1380 г. Мамаю возобновить выплату дани согласно «докончанию» 1371 г., Дмитрий рассчитывал вновь разрушить ордынско-литовскую коалицию, однако на этот раз Мамай был полностью уверен в своих силах и требовал восстановления той степени зависимости Руси, которая существовала на пике могущества Золотой Орды. На это московский князь согласиться уже не мог.
20 августа Дмитрий Иванович вышел со своими полками из Коломны и начал движение на запад вдоль левого берега Оки. Встав у устья реки Лопасны, он стал собирать сведения о местонахождении татар. После подхода из Москвы дополнительных сил во главе с Владимиром Серпуховским и окольничим Тимофеем Дмитрий переправился на правый берег Оки и начал продвигаться на юго-восток. 6 сентября русские полки достигли берега Дона, где ими были разбиты сторожевые отряды Мамая. Среди воевод московского князя возник спор о том, где давать бой татарам: «Ови глаголаху: „поиди за Донъ“, а инии не хотяху, глаголюще: „умножишася врази наши, Татарове, Литва, Рязанци“. А Мамаи, слышавъ приходъ великого князя къ Дону и сеченыхъ своихъ виде, възьярися зело и рече къ своимъ: „подвигнемся къ Дону, доколе приспеетъ намъ Ягаило“»252.
Если бы русские полки остались на левом берегу Дона, в случае неудачного исхода боя они смогли бы отступить, однако Мамай получил бы возможность соединиться с Ягайлой, находившимся уже совсем близко. Чтобы не допустить их соединения, необходимо было переправиться на правый берег, и в этом случае оставшийся за спиной Дон не оставлял русским воинам иного выбора, кроме как победить или умереть. Именно это решение и принял Дмитрий в ночь с 7 на 8 сентября: «А князь велики повеле мосты мостити чересъ Донъ и бродовъ пытати въ нощи, а в утре въ суботу, на праздникъ Рожества святыя Богородица, сентебря 8, повеле воемъ своимъ преити за реку и поити въ поле. Бе же и мъгла тогда велика, потомъ же мъгла уступи, тогда преидоша вси за Донъ; бе же множество бесчислено вои, яко и земли двизатися, и выидоша въ поле чисто на усть реки Непрядвы, исполчився»253.
8 сентября 1380 г. состоялось историческое сражение: «И яко бысть въ 6 часъ дни, начаша появливатися оканнии Татарове въ поле чисте и исполчишася противу хрестьянъ; бе же обоихъ многое множество; и соидошася обе силы великия, покрыша поле яко на 13 връстъ. И бысть сеча велика и брань крепка, и трусъ великъ зело, яко не бывала отъ начала бо княземъ Русскимъ; и бишася отъ шестаго часа до девятаго, и прольяся кровь, яко дождевная туча, и паде множество трупу обоихъ. При часи же девятомъ призри Господь милостивымъ окомъ на родъ хрестьяньскии… И тако въскоре побегоша погании, а хрестьяне погониша въследъ ихъ, бьюще, и гониша, биюще, Мечи реки, а княжи полци до Содомлянъ и до становъ ихъ, и взяша все богатьство ихъ и стада, избиша ихъ многое множество, а инии истопоша»254.
Дмитрий Иванович героически бился во главе своего войска: «Самому же великому князю доспехъ весь обитъ бе, на телеси же его не бе никакия раны, а бися въ лице съ Татары на прьвомъ суиме. О семъ бо князи воеводы глаголаху ему: „господине, не стався напередъ, но назади или на крыле, или въ опришнемъ где месте“. Онъ же рече: „да како азъ възглаголю: братие, потягне [мъ] съ единого, а самъ лице свое почну крыти или хоронитися назадъ? но якоже хощу словомъ, тако и деломъ предъ всеми главу свою сложити за хрестьяне, да прочии, видевше то, да приимуть дръзость“. Да якоже рече, тако и сътвори: би бо ся, напередъ ста всехъ, и бе одесную его и ошюю его множество битыхъ, а самого кругъ оступиша обаполъ, яко вода многа, и многа ударения приятъ по главе и по всему телу, но Богъ соблюде и отъ всехъ»255.